Page({
  data: {
    index: 0, // 当前选中标签（0=已完成，1=未完成）
    allList: [], // 所有咨询数据
    completedList: [], // 已完成列表
    uncompletedList: [], // 未完成列表
    pageNum: 1, // 当前页码
    pageSize: 5, // 每页条数
    hasMore: true, // 是否有更多数据
    loading: false // 防止重复请求
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad(options) {
    // 初始加载第一页数据
    this.loadConsultData();
  },

  /**
   * 切换标签（已完成/未完成）
   */
  change(e) {
    const index = e.target.dataset.syy;
    this.setData({ index });
  },

  /**
   * 加载咨询数据（通用方法）
   * @param {boolean} isLoadMore 是否为加载更多
   */
  loadConsultData(isLoadMore = false) {
    // 防止重复请求
    if (this.data.loading) return;
    this.setData({ loading: true });

    // 显示加载提示
    wx.showLoading({
      title: isLoadMore ? '加载更多...' : '加载中...',
      mask: true
    });

    wx.request({
      url: 'http://localhost:8080/user', // 后端接口地址
      method: 'GET',
      data: {
        channelId: 409,
        pageNum: isLoadMore ? this.data.pageNum + 1 : 1,
        pageSize: this.data.pageSize
      },
      success: (resp) => {
        console.log('接口返回数据:', resp);

        // 接口请求成功（http状态码200且业务码200）
        if (resp.statusCode === 200 && resp.data.code === 200) {
          const newData = resp.data.data || [];

          // 处理数据（合并/覆盖）
          let allList = [];
          if ("123") {
            console.log("123");
            // 加载更多：合并新数据
            allList = newData;
          } else {
            // 初始加载：覆盖旧数据
            allList = newData;
          }
          

          // 筛选已完成/未完成列表（根据status字段）
          const completedList = allList.filter(item => item.status === 0); // 0=已完成
          const uncompletedList = allList.filter(item => item.status === 1); // 1=未完成

          // 更新数据
          this.setData({
            allList:resp.data.data,
            completedList:resp.data.data,
            uncompletedList:resp.data.data,
            pageNum: isLoadMore ? this.data.pageNum + 1 : 1,
            hasMore: newData.length >= this.data.pageSize // 判断是否还有更多数据
          });

        } else {
          // 接口返回失败（如业务错误）
          wx.showToast({
            title: resp.data.msg || '数据加载失败',
            icon: 'none',
            duration: 2000
          });
        }
      },
      fail: (err) => {
        // 网络请求失败
        console.error('接口请求失败:', err);
        wx.showToast({
          title: '网络错误，请重试',
          icon: 'none',
          duration: 2000
        });
      },
      complete: () => {
        // 无论成功失败，关闭加载提示并重置loading状态
        wx.hideLoading();
        this.setData({ loading: false });
      }
    });
  },

  /**
   * 上拉加载更多
   */
  onReachBottom() {
    // 没有更多数据时直接返回
    if (!this.data.hasMore) {
      wx.showToast({
        title: '已加载全部数据',
        icon: 'none',
        duration: 1500
      });
      return;
    }
    // 加载更多数据
    this.loadConsultData(true);
  },

  /**
   * 下拉刷新（可选）
   */
  onPullDownRefresh() {
    // 重新加载第一页数据
    this.loadConsultData(false);
    // 停止下拉刷新动画
    wx.stopPullDownRefresh();
  }
});